package negocio;

import conexion.Conexion;
import conexion.Sql;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;


public class Empleado {
    
    
    String ide;
    String tipo_ide;
    String nom;
    String ape;
    String tel;
    String direc;
    String correo;
    String codigo;
    String contrasena;
    String nick;
    
    //public boolean insertarEmpleado;
    
    public Empleado() {
    }

    public Empleado(String ide, String tipo_ide, String nom, String ape, String tel, String direc, String correo, String codigo, String contrasena, String nick) {
        
        this.ide = ide;
        this.tipo_ide = tipo_ide;
        this.nom = nom;
        this.ape = ape;
        this.tel = tel;
        this.direc = direc;      
        this.correo = correo;
        this.codigo = codigo;
        this.contrasena = contrasena;
        this.nick = nick;
    }

    public String getIde() {
        return ide;
    }
    
     public String getTipoid() {
        return tipo_ide;
    }

    public String getNom() {
        return nom;
    }
      public String getApe() {
        return ape;
    }
    public String getTel() {
        return tel;
    }
    
    public String getDirec() {
        return direc;
    }

    public String getCorreo() {
        return correo;
    }
    
    public String getCodigo() {
        return codigo;
    }
      
          public String getCon() {
        return contrasena;
    }
      
    public String getNick() {
        return nick;
    }
      
        public boolean insertarEmpleado(){
        boolean ok=false;
        Conexion conex = new Conexion();
        String sql = "insert into empleado(ide, tipo_ide, nom, ape, tel, direc, correo, codigo, contrasena, nick) values ('" +ide+"','" +tipo_ide+"','" +nom+"','" +ape+"','" +tel+"','" +direc+"','" +correo+"','" +codigo+"','" +contrasena+"','" +nick+"')";
               
         if (Sql.ejecuta(sql)==null)
           {
            ok=true;
           }
          else
           {
            System.out.println("NO INSERTO " + Sql.ejecuta(sql));
           }

       return ok;
    }

    public ArrayList listaEmpleado()
     {
        ArrayList lista = new ArrayList();
        Conexion conex = new Conexion();
        String sql = "select * from empleado";
        try
        {
          conex.conectar();
          PreparedStatement st = conex.getConnection().prepareStatement(sql);
          ResultSet rs = st.executeQuery();
          //Recorre el objeto y adiciona los registros a la matriz
          while (rs.next())
          {
              lista.add(new Empleado(rs.getString(1),rs.getString(2), rs.getString(3), rs.getString(4), rs.getString(5), rs.getString(6), rs.getString(7), rs.getString(8), rs.getString(9), rs.getString(10)));
          }
          conex.desconectar();
          }
        
        catch(ClassNotFoundException ex)
          {
            System.out.println(ex);
          }
        
        catch(SQLException ex)
          {
            System.out.println(ex);
          }
        
        return lista;
     }
    
   public ArrayList buscarEmpleado(String ide) throws ClassNotFoundException
    {
        ArrayList lista = new ArrayList();
        boolean ok=false;
        Conexion conex = new Conexion();
        String sql = "Select * from empleado where ide=?";
        
        try
          {
            conex.conectar();
            PreparedStatement ps = conex.getConnection().prepareStatement(sql);
            ps.setString(1, ide);
            ResultSet rs = ps.executeQuery();
           
            while (rs.next())
            {
                lista.add(new Empleado(rs.getString(1), rs.getString(2), rs.getString(3), rs.getString(4), rs.getString(5), rs.getString(6), rs.getString(7), rs.getString(8), rs.getString(9), rs.getString(10)));
            }
            
             conex.desconectar();
          }
         catch(ClassNotFoundException ex)
          {
            System.out.println(ex);
          } 
         catch(SQLException ex)
        {
            System.out.println(ex);
        }
        return lista;
    }
    
     //Método para eliminar un afiliado
    public void eliminarEmpleado(String ide)
     {
         String  sql = "DELETE FROM empleado WHERE ide = '" + ide +"'";
         Sql.ejecuta(sql);        
     }
    
 public void modificarEmpleado()
   {
       
        //Conexion conex = new Conexion();
        String  sql = "UPDATE empleado SET tipo_ide ='" +tipo_ide+"',nom ='" +nom+"',ape ='" +ape+"', tel ='" +tel+"', direc  = '" +direc+"', correo  = '" +correo+"', codigo  = '" +codigo+"', contrasena  = '" +contrasena+"', nick  = '" +nick+"' WHERE ide ='" +ide+"'";
        Sql.ejecuta(sql);
   }
 
 
}
